WHEN Result = 14 THEN DO /* Accounting limit reached */
CALL WriteCh( 'Con', 'Accounting limit reached' )
Node.I.Polles = 1
END
WHEN Result = 18 THEN DO /* Ignore BUSY messages */
NOP
END
WHEN Result = 11 | Result = 22 THEN DO /* No answer */
rtResult = 0
IF DoAsk THEN DO
CALL rtEZRequest( 'No answer from this node.'Lf'Do you want to continue polling this node?', '_Yes| _No ', 'SmartPoll request', 'RT_PubScrName='PubScreen' RTEZ_Flags=EZREQF_CenterText' )
END
IF rtResult = 0 THEN DO
Node.I.Polled = 1
END
END
OTHERWISE DO /* Other kind of errors */
Node.I.Errors = Node.I.Errors + 1
IF Node.I.Errors >= ErrorLimit THEN DO
rtResult = 0
IF DoAsk THEN DO
CALL rtEZRequest( 'Error limit ('ErrorLimit') reached.'Lf'Do you want to continue polling this node?', '_Keep polling|_Clear error count|_Stop polling', 'SmartPoll request', 'RT_PubScrName='PubScreen' RTEZ_Flags=EZREQF_CenterText' )
END
SELECT
WHEN rtResult = 0 THEN DO
Node.I.Polled = 1
END
WHEN rtResult = 2 THEN DO
Node.I.Errors = 0
END
OTHERWISE DO
NOP
END
END
END
END
END
IF Node.I.Polled THEN DO
NodesLeft = NodesLeft - 1
LEAVE J
END
END
CALL WriteCh( 'Con', Lf )
END
IF NodesLeft > 0 THEN DO /* And now for the redial delay */